package com.mycode.composite09.model;

// 抽象组件：可以是接口或抽象类，为叶子组件和容器组件对象声明接口，在该角色中可以包含所有子类共有行为的声明和实现。
//          在抽象组件中定义了访问及管理它的子组件的方法，例如：增加子组件、删除子组件、获取子组件
public abstract class Component {

    // 增加成员
    public abstract void add(Component component);

    // 删除成员
    public abstract void remove(Component component);

    // 获取成员
    public abstract Component getChild(int i);

    // 业务方法
    public abstract void operation();
}
